A communication system usually has a goal of reducing throughput time for signals communicated between nodes of the system. The system's throughput time represents the time required for a signal detected at an originating node to be delivered to a destination node. When the communication system communicates real time signals, the system's success often depends on minimizing throughput. Real time signals are responsive to, exert control over, or otherwise relate to physical processes, events, or other phenomena as the phenomena are occurring. For example, telecommunication systems communicate real time audio and possibly video signals in analog or digital form. Throughput of real time signals, whether analog or digital, should be minimized so that a normal conversation may take place without uncomfortable delays occurring after a party at one node ceases speaking and before the same party hears a party at another node respond.
Nodes of a communication system may operate either asychronously or synchronously. Asychronous operation occurs when processes taking place at different nodes proceed timewise independently of one another. Asynchronous operation allows different processes to operate efficiently and generally at relatively low complexity and expense. However, data transferred between the processes are typically slowed by being delayed in buffers, FIFO memories, or the like.
When an asynchronous system configures real time digital data in frames, typically at least one frame of data is buffered between the generation of the data at one node and the receipt of the data at another node. The one or more frame buffer allows a data-generating node to generate a frame's worth of data within a frame's worth of time and allows a data-receiving node to obtain a frame's worth of data within a frame's worth of time. Typically, the data-generating node is free to place its frame's worth of data within the buffer in accordance with it's own schedule, and the data-receiving node is free to obtain its frame of data from the buffer in accordance with it's own schedule, and the two schedules need not be coupled together. However, when there is one or more frames of buffering, the throughput time increases by the duration of at least a frame.
The buffering may be omitted if the nodes of a communication system are allowed to operate synchronously. Synchronous operation occurs when the timing of processes taking place at different nodes is tightly coupled so that a data-generating node produces its data just in time for a data-receiving node to accept the data. On-the other hand, synchronous operation is handicapped by equipment complexity and expense due to the need to couple the timing of spatially diverse processes.
When a radio telecommunication system employs nodes located on or near the surface of the earth and nodes located in satellites placed in orbit around the earth, neither asynchronous nor synchronous operations provide adequate solutions to throughput time and equipment complexity problems. And, these problems multiply when orbiting satellite nodes move relative to earth-based nodes. The vast distances over which signals travel in a satellite-based communication system makes the throughput time problem all the more critical and synchronous operation all the more desirable. On the other hand, satellite movement causes propagation delays of signals communicated between the satellite nodes and ground-based nodes to change as a function of time. The variations in propagation delays associated with communication channels between nodes causes synchronous operations to become extremely complex and costly, if not impossible.
Propagation delay variations might possibly be ignored, but ignoring propagation delays may cause drop-outs and/or gaps in a real time data stream where the propagation delay is expanding. Further, ignoring propagation delays may cause a loss of data where the propagation delay is shrinking. Either situation adversely affects the real time physical phenomena to which the real time data stream relates.